package com.holystone.orca.itsm.system.api;

import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageInfo;
import com.holystone.orca.itsm.system.model.SysUser;

import java.util.List;
import java.util.Map;
import java.util.Set;

public interface SystemServiceApi {
    /**
     * 获取角色对应的权限URL
     * @return Map《roleCode，set《URL》》
     */
    Map<String, Set<String>> selectRolePermission();

    /**
     * 获取用户角色
     * @param userId 用户id
     * @return List《roleCode》
     */
    List<String> selectUserRole(Integer userId);

    /**
     * 用户登陆验证
     * @param username 用户名
     * @param password 密码
     * @return SysUser
     */
    SysUser login(String username,String password);

    /**
     * 分页查询用户
     * @param user 查询条件
     * @param pageNO 页数
     * @param pageSize 页大小
     * @return PageInfo《SysUser》
     */
    PageInfo<SysUser> pagingSysUser(SysUser user, Integer pageNO , Integer pageSize);

    /**
     * 添加用户并返回主键
     * @param sysUser 用户信息
     * @return SysUser
     */
    SysUser addSysUser(SysUser sysUser);

    /**
     * 获取用户信息
     * @param userId 用户id
     * @return JSONObject
     */
    JSONObject getUserMsg(Integer userId);
}
